/*******************************************************************************
 * Project: iir
 * Package: com.hngtrust.iir.third
 * Type:    CtrRelation
 * Author:  Chentianyong
 * Date:    2021-10-15 09:25:48
 *
 * Copyright (c) 2021 HUANENG GUICHENG TRUST CORP.,LTD All Rights Reserved.
 *******************************************************************************/
 
package com.hngtrust.iir.third.controller.dto;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
import java.util.List;
import java.util.Set;

/**
 * 中信登关联方(CtrRelation)实体类
 *
 * @author Chentianyong
 * @since 2021-10-15 09:25:48
 */
@Data
@ApiModel(description = "关联方返回参数")
public class CtrRelationDTO {
    
    @ApiModelProperty(value = "关联方信息 （个）")
    private Integer relationInformation;
    @ApiModelProperty(value = "关联方类型下拉")
    private Set<String> relationTypeSelect;
    @ApiModelProperty(value = "监管要求下拉实体")
    private List<RegulatoryRequirements> regulatoryRequirementsSelect;
    @ApiModelProperty(value = "关联方列表实体")
    private List<CtrRelationList> lists;
    
    @Data
    @ApiModel(description = "关联方列表实体")
    public static class CtrRelationList {
        @ApiModelProperty(value = "主键ID")
        private Long id;
        @ApiModelProperty(value = "关联方名称")
        private String partyName;
        @ApiModelProperty(value = "关联方类型")
        private String partyType;
        @ApiModelProperty(value = "统一社会信用代码")
        private String creditCode;
        @ApiModelProperty(value = "组织机构代码")
        private String organizationCode;
        @ApiModelProperty(value = "符合的监管要求 (是否符合银保监—保险系规则、是否符合会计准则、是否符合上交所规则、是否符合联交所规则)")
        private String compWithRegulatoryRequire;
        @ApiModelProperty(value = "判断规则")
        private String judgmentRule;
        @ApiModelProperty(value = "修改时间")
        private Date updateTime;
        @ApiModelProperty(value = "规则路径数量")
        private Integer rulePathNumber;
        @ApiModelProperty(value = "规则关系路径")
        private List<RuleRelation> ruleRelation;
        @ApiModelProperty(value = "关系路径数量")
        private Integer conratePathNumber;
        @ApiModelProperty(value = "关联关系路径")
        private List<AssociationRelationship> associationRelationship;
    }
    @Data
    @ApiModel(description = "规则关系路径实体")
    public static class RuleRelation{
        @ApiModelProperty(value = "序号")
        private String serialNumber;
        @ApiModelProperty(value = "名称")
        private String name;
    }
    
    @Data
    @ApiModel(description = "关联关系路径实体")
    public static class AssociationRelationship{
        @ApiModelProperty(value = "序号")
        private String serialNumber;
        @ApiModelProperty(value = "名称")
        private String name;
    }
    
    @Data
    @ApiModel(description = "监管要求下拉实体")
    public static class RegulatoryRequirements{
        @ApiModelProperty(value = "监管要求下拉框展示内容")
        private String regulatoryRequirementsSelect;
        @ApiModelProperty(value = "是否符合银保监—保险系规则")
        private Integer circ;
        @ApiModelProperty(value = "是否符合会计准则")
        private Integer account;
        @ApiModelProperty(value = "是否符合上交所规则")
        private Integer sse;
        @ApiModelProperty(value = "是否符合联交所规则")
        private Integer sehk;
    }
    
}
